<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621679111786"></span><span class="hs-comment">{- |
   Module      :  System.Win32.Utils
   Copyright   :  2009 Balazs Komuves, 2013 shelarcy
   License     :  BSD-style

   Maintainer  :  shelarcy@gmail.com
   Stability   :  Provisional
   Portability :  Non-portable (Win32 API)

   Utilities for calling Win32 API
-}</span><span>
</span><span id="line-12"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">System.Win32.Utils</span><span>
</span><span id="line-13"></span><span>  </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#try"><span class="hs-identifier">try</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#tryWithoutNull"><span class="hs-identifier">tryWithoutNull</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#trySized"><span class="hs-identifier">trySized</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#try%27"><span class="hs-identifier">try'</span></a></span><span>
</span><span id="line-14"></span><span>  </span><span class="hs-comment">-- * Maybe values</span><span>
</span><span id="line-15"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#maybePtr"><span class="hs-identifier">maybePtr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#ptrToMaybe"><span class="hs-identifier">ptrToMaybe</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#maybeNum"><span class="hs-identifier">maybeNum</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#numToMaybe"><span class="hs-identifier">numToMaybe</span></a></span><span>
</span><span id="line-16"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#peekMaybe"><span class="hs-identifier">peekMaybe</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#withMaybe"><span class="hs-identifier">withMaybe</span></a></span><span>
</span><span id="line-17"></span><span>  </span><span class="hs-comment">-- * Format picture translation</span><span>
</span><span id="line-18"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#fromDateFormatPicture"><span class="hs-identifier">fromDateFormatPicture</span></a></span><span>
</span><span id="line-19"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#fromTimeFormatPicture"><span class="hs-identifier">fromTimeFormatPicture</span></a></span><span>
</span><span id="line-20"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Control.Monad.html#"><span class="hs-identifier">Control.Monad</span></a></span><span>               </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier">unless</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Foreign.C.Types.html#"><span class="hs-identifier">Foreign.C.Types</span></a></span><span>             </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/Foreign.C.Types.html#CInt"><span class="hs-identifier">CInt</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Marshal.Array.html#"><span class="hs-identifier">Foreign.Marshal.Array</span></a></span><span>       </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Marshal.Array.html#allocaArray"><span class="hs-identifier">allocaArray</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Marshal.Array.html#peekArray"><span class="hs-identifier">peekArray</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Marshal.Utils.html#"><span class="hs-identifier">Foreign.Marshal.Utils</span></a></span><span>       </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Marshal.Utils.html#with"><span class="hs-identifier">with</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Ptr.html#"><span class="hs-identifier">Foreign.Ptr</span></a></span><span>                 </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/GHC.Ptr.html#Ptr"><span class="hs-identifier">Ptr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Ptr.html#nullPtr"><span class="hs-identifier">nullPtr</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Storable.html#"><span class="hs-identifier">Foreign.Storable</span></a></span><span>            </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Storable.html#Storable"><span class="hs-identifier">Storable</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#"><span class="hs-identifier">Text.ParserCombinators.ReadP</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier">ReadP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator">(&lt;++)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#between"><span class="hs-identifier">between</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier">char</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier">count</span></a></span><span>
</span><span id="line-29"></span><span>                                    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#readP_to_S"><span class="hs-identifier">readP_to_S</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#satisfy"><span class="hs-identifier">satisfy</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="System.Win32.String.html"><span class="hs-identifier">System.Win32.String</span></a></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.Win32.Types.html#LPTSTR"><span class="hs-identifier">LPTSTR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#peekTString"><span class="hs-identifier">peekTString</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#peekTStringLen"><span class="hs-identifier">peekTStringLen</span></a></span><span>
</span><span id="line-33"></span><span>                                   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.String.html#withTStringBufferLen"><span class="hs-identifier">withTStringBufferLen</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="System.Win32.Types.html"><span class="hs-identifier">System.Win32.Types</span></a></span><span>          </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.Win32.Types.html#BOOL"><span class="hs-identifier">BOOL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier">UINT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#eRROR_INSUFFICIENT_BUFFER"><span class="hs-identifier">eRROR_INSUFFICIENT_BUFFER</span></a></span><span>
</span><span id="line-35"></span><span>                                   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#failIfZero"><span class="hs-identifier">failIfZero</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#failWith"><span class="hs-identifier">failWith</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#getLastError"><span class="hs-identifier">getLastError</span></a></span><span>
</span><span id="line-36"></span><span>                                   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#maybeNum"><span class="hs-identifier">maybeNum</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#maybePtr"><span class="hs-identifier">maybePtr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#numToMaybe"><span class="hs-identifier">numToMaybe</span></a></span><span>
</span><span id="line-37"></span><span>                                   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Types.html#ptrToMaybe"><span class="hs-identifier">ptrToMaybe</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="System.Win32.Types.html"><span class="hs-identifier">System.Win32.Types</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.Win32.Types.html#try"><span class="hs-identifier">try</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="System.Win32.Word.html"><span class="hs-identifier">System.Win32.Word</span></a></span><span>           </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.Win32.Types.html#DWORD"><span class="hs-identifier">DWORD</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Win32.Word.html#PDWORD"><span class="hs-identifier">PDWORD</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-40"></span><span>
</span><span id="line-41"></span><span class="hs-comment">-- | Support for API calls that are passed a fixed-size buffer and tell</span><span>
</span><span id="line-42"></span><span class="hs-comment">-- you via the return value if the buffer was too small.  In that</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- case, we extend the buffer size and try again.</span><span>
</span><span id="line-44"></span><span class="annot"><a href="System.Win32.Utils.html#try"><span class="hs-identifier hs-type">try</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="System.Win32.Types.html#LPTSTR"><span class="hs-identifier hs-type">LPTSTR</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier hs-type">UINT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier hs-type">UINT</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier hs-type">UINT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-45"></span><span id="try"><span class="annot"><span class="annottext">try :: String -&gt; (LPTSTR -&gt; UINT -&gt; IO UINT) -&gt; UINT -&gt; IO String
</span><a href="System.Win32.Utils.html#try"><span class="hs-identifier hs-var hs-var">try</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; (LPTSTR -&gt; UINT -&gt; IO UINT) -&gt; UINT -&gt; IO String
</span><a href="System.Win32.Types.html#try"><span class="hs-identifier hs-var">System.Win32.Types.try</span></a></span><span>
</span><span id="line-46"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#try"><span class="hs-pragma hs-type">try</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-47"></span><span>
</span><span id="line-48"></span><span class="annot"><a href="System.Win32.Utils.html#tryWithoutNull"><span class="hs-identifier hs-type">tryWithoutNull</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="System.Win32.Types.html#LPTSTR"><span class="hs-identifier hs-type">LPTSTR</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier hs-type">UINT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier hs-type">UINT</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="System.Win32.Types.html#UINT"><span class="hs-identifier hs-type">UINT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-49"></span><span id="tryWithoutNull"><span class="annot"><span class="annottext">tryWithoutNull :: String -&gt; (LPTSTR -&gt; UINT -&gt; IO UINT) -&gt; UINT -&gt; IO String
</span><a href="System.Win32.Utils.html#tryWithoutNull"><span class="hs-identifier hs-var hs-var">tryWithoutNull</span></a></span></span><span> </span><span id="local-6989586621679111657"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111657"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679111656"><span class="annot"><span class="annottext">LPTSTR -&gt; UINT -&gt; IO UINT
</span><a href="#local-6989586621679111656"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679111655"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111655"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-50"></span><span>   </span><span id="local-6989586621679111654"><span class="annot"><span class="annottext">Either UINT String
</span><a href="#local-6989586621679111654"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int
-&gt; (LPTSTR -&gt; IO (Either UINT String)) -&gt; IO (Either UINT String)
forall a b. Storable a =&gt; Int -&gt; (Ptr a -&gt; IO b) -&gt; IO b
</span><a href="../../base/src/Foreign.Marshal.Array.html#allocaArray"><span class="hs-identifier hs-var">allocaArray</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UINT -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111655"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((LPTSTR -&gt; IO (Either UINT String)) -&gt; IO (Either UINT String))
-&gt; (LPTSTR -&gt; IO (Either UINT String)) -&gt; IO (Either UINT String)
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679111653"><span class="annot"><span class="annottext">LPTSTR
</span><a href="#local-6989586621679111653"><span class="hs-identifier hs-var">lptstr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-51"></span><span>          </span><span id="local-6989586621679111652"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111652"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO UINT -&gt; IO UINT
forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO a
</span><a href="System.Win32.Types.html#failIfZero"><span class="hs-identifier hs-var">failIfZero</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111657"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">(IO UINT -&gt; IO UINT) -&gt; IO UINT -&gt; IO UINT
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR -&gt; UINT -&gt; IO UINT
</span><a href="#local-6989586621679111656"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR
</span><a href="#local-6989586621679111653"><span class="hs-identifier hs-var">lptstr</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111655"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-52"></span><span>          </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111652"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="annot"><span class="annottext">UINT -&gt; UINT -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111655"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Either UINT String -&gt; IO (Either UINT String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UINT -&gt; Either UINT String
forall a b. a -&gt; Either a b
</span><a href="../../base/src/Data.Either.html#Left"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111652"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-53"></span><span>            </span><span id="local-6989586621679111650"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111650"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">LPTSTR -&gt; IO String
</span><a href="System.Win32.Types.html#peekTString"><span class="hs-identifier hs-var">peekTString</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR
</span><a href="#local-6989586621679111653"><span class="hs-identifier hs-var">lptstr</span></a></span><span>
</span><span id="line-54"></span><span>            </span><span class="annot"><span class="annottext">Either UINT String -&gt; IO (Either UINT String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Either UINT String
forall a b. b -&gt; Either a b
</span><a href="../../base/src/Data.Either.html#Right"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111650"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-55"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Either UINT String
</span><a href="#local-6989586621679111654"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-56"></span><span>        </span><span class="annot"><a href="../../base/src/Data.Either.html#Left"><span class="hs-identifier hs-type">Left</span></a></span><span> </span><span id="local-6989586621679111649"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111649"><span class="hs-identifier hs-var">r'</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; (LPTSTR -&gt; UINT -&gt; IO UINT) -&gt; UINT -&gt; IO String
</span><a href="System.Win32.Utils.html#tryWithoutNull"><span class="hs-identifier hs-var">tryWithoutNull</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111657"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR -&gt; UINT -&gt; IO UINT
</span><a href="#local-6989586621679111656"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111649"><span class="hs-identifier hs-var">r'</span></a></span><span>
</span><span id="line-57"></span><span>        </span><span class="annot"><a href="../../base/src/Data.Either.html#Right"><span class="hs-identifier hs-type">Right</span></a></span><span> </span><span id="local-6989586621679111648"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111648"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO String
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111648"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-58"></span><span>
</span><span id="line-59"></span><span id="local-6989586621679111844"><span class="annot"><a href="System.Win32.Utils.html#try%27"><span class="hs-identifier hs-type">try'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Storable.html#Storable"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111844"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111844"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="System.Win32.Word.html#PDWORD"><span class="hs-identifier hs-type">PDWORD</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="System.Win32.Types.html#BOOL"><span class="hs-identifier hs-type">BOOL</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="System.Win32.Types.html#DWORD"><span class="hs-identifier hs-type">DWORD</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679111844"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-60"></span><span id="try%27"><span class="annot"><span class="annottext">try' :: forall a.
Storable a =&gt;
String -&gt; (Ptr a -&gt; PDWORD -&gt; IO Bool) -&gt; UINT -&gt; IO [a]
</span><a href="System.Win32.Utils.html#try%27"><span class="hs-identifier hs-var hs-var">try'</span></a></span></span><span> </span><span id="local-6989586621679111622"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111622"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679111621"><span class="annot"><span class="annottext">Ptr a -&gt; PDWORD -&gt; IO Bool
</span><a href="#local-6989586621679111621"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679111620"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111620"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-61"></span><span>   </span><span class="annot"><span class="annottext">UINT -&gt; (PDWORD -&gt; IO [a]) -&gt; IO [a]
forall a b. Storable a =&gt; a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
</span><a href="../../base/src/Foreign.Marshal.Utils.html#with"><span class="hs-identifier hs-var">with</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111620"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">((PDWORD -&gt; IO [a]) -&gt; IO [a]) -&gt; (PDWORD -&gt; IO [a]) -&gt; IO [a]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679111619"><span class="annot"><span class="annottext">PDWORD
</span><a href="#local-6989586621679111619"><span class="hs-identifier hs-var">n'</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-62"></span><span>   </span><span id="local-6989586621679111618"><span class="annot"><span class="annottext">Either UINT [a]
</span><a href="#local-6989586621679111618"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; (Ptr a -&gt; IO (Either UINT [a])) -&gt; IO (Either UINT [a])
forall a b. Storable a =&gt; Int -&gt; (Ptr a -&gt; IO b) -&gt; IO b
</span><a href="../../base/src/Foreign.Marshal.Array.html#allocaArray"><span class="hs-identifier hs-var">allocaArray</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UINT -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111620"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((Ptr a -&gt; IO (Either UINT [a])) -&gt; IO (Either UINT [a]))
-&gt; (Ptr a -&gt; IO (Either UINT [a])) -&gt; IO (Either UINT [a])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679111617"><span class="annot"><span class="annottext">Ptr a
</span><a href="#local-6989586621679111617"><span class="hs-identifier hs-var">lptstr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-63"></span><span>          </span><span id="local-6989586621679111616"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679111616"><span class="hs-identifier hs-var">flg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Ptr a -&gt; PDWORD -&gt; IO Bool
</span><a href="#local-6989586621679111621"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
</span><a href="#local-6989586621679111617"><span class="hs-identifier hs-var">lptstr</span></a></span><span> </span><span class="annot"><span class="annottext">PDWORD
</span><a href="#local-6989586621679111619"><span class="hs-identifier hs-var">n'</span></a></span><span>
</span><span id="line-64"></span><span>          </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679111616"><span class="hs-identifier hs-var">flg</span></a></span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-65"></span><span>            </span><span id="local-6989586621679111615"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111615"><span class="hs-identifier hs-var">err_code</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO UINT
</span><a href="System.Win32.Types.html#getLastError"><span class="hs-identifier hs-var">getLastError</span></a></span><span>
</span><span id="line-66"></span><span>            </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111615"><span class="hs-identifier hs-var">err_code</span></a></span><span> </span><span class="annot"><span class="annottext">UINT -&gt; UINT -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="System.Win32.Types.html#eRROR_INSUFFICIENT_BUFFER"><span class="hs-identifier hs-var">eRROR_INSUFFICIENT_BUFFER</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-67"></span><span>              </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; UINT -&gt; IO ()
forall a. String -&gt; UINT -&gt; IO a
</span><a href="System.Win32.Types.html#failWith"><span class="hs-identifier hs-var">failWith</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111622"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111615"><span class="hs-identifier hs-var">err_code</span></a></span><span>
</span><span id="line-68"></span><span>          </span><span id="local-6989586621679111614"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111614"><span class="hs-identifier hs-var">r</span></a></span></span><span>   </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">PDWORD -&gt; IO UINT
forall a. Storable a =&gt; Ptr a -&gt; IO a
</span><a href="../../base/src/Foreign.Storable.html#peek"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">PDWORD
</span><a href="#local-6989586621679111619"><span class="hs-identifier hs-var">n'</span></a></span><span>
</span><span id="line-69"></span><span>          </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111614"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="annot"><span class="annottext">UINT -&gt; UINT -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111620"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Either UINT [a] -&gt; IO (Either UINT [a])
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UINT -&gt; Either UINT [a]
forall a b. a -&gt; Either a b
</span><a href="../../base/src/Data.Either.html#Left"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111614"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-70"></span><span>            </span><span id="local-6989586621679111612"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679111612"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Ptr a -&gt; IO [a]
forall a. Storable a =&gt; Int -&gt; Ptr a -&gt; IO [a]
</span><a href="../../base/src/Foreign.Marshal.Array.html#peekArray"><span class="hs-identifier hs-var">peekArray</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UINT -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111614"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Ptr a
</span><a href="#local-6989586621679111617"><span class="hs-identifier hs-var">lptstr</span></a></span><span>
</span><span id="line-71"></span><span>            </span><span class="annot"><span class="annottext">Either UINT [a] -&gt; IO (Either UINT [a])
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[a] -&gt; Either UINT [a]
forall a b. b -&gt; Either a b
</span><a href="../../base/src/Data.Either.html#Right"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679111612"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-72"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Either UINT [a]
</span><a href="#local-6989586621679111618"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-73"></span><span>        </span><span class="annot"><a href="../../base/src/Data.Either.html#Left"><span class="hs-identifier hs-type">Left</span></a></span><span> </span><span id="local-6989586621679111611"><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111611"><span class="hs-identifier hs-var">r'</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; (Ptr a -&gt; PDWORD -&gt; IO Bool) -&gt; UINT -&gt; IO [a]
forall a.
Storable a =&gt;
String -&gt; (Ptr a -&gt; PDWORD -&gt; IO Bool) -&gt; UINT -&gt; IO [a]
</span><a href="System.Win32.Utils.html#try%27"><span class="hs-identifier hs-var">try'</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111622"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a -&gt; PDWORD -&gt; IO Bool
</span><a href="#local-6989586621679111621"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">UINT
</span><a href="#local-6989586621679111611"><span class="hs-identifier hs-var">r'</span></a></span><span>
</span><span id="line-74"></span><span>        </span><span class="annot"><a href="../../base/src/Data.Either.html#Right"><span class="hs-identifier hs-type">Right</span></a></span><span> </span><span id="local-6989586621679111610"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679111610"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[a] -&gt; IO [a]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679111610"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-75"></span><span>
</span><span id="line-76"></span><span class="hs-comment">-- | Support for API calls that return the required size, in characters</span><span>
</span><span id="line-77"></span><span class="hs-comment">-- including a null character, of the buffer when passed a buffer size of zero.</span><span>
</span><span id="line-78"></span><span class="annot"><a href="System.Win32.Utils.html#trySized"><span class="hs-identifier hs-type">trySized</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="System.Win32.Types.html#LPTSTR"><span class="hs-identifier hs-type">LPTSTR</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Foreign.C.Types.html#CInt"><span class="hs-identifier hs-type">CInt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/Foreign.C.Types.html#CInt"><span class="hs-identifier hs-type">CInt</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-79"></span><span id="trySized"><span class="annot"><span class="annottext">trySized :: String -&gt; (LPTSTR -&gt; CInt -&gt; IO CInt) -&gt; IO String
</span><a href="System.Win32.Utils.html#trySized"><span class="hs-identifier hs-var hs-var">trySized</span></a></span></span><span> </span><span id="local-6989586621679111609"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111609"><span class="hs-identifier hs-var">wh</span></a></span></span><span> </span><span id="local-6989586621679111608"><span class="annot"><span class="annottext">LPTSTR -&gt; CInt -&gt; IO CInt
</span><a href="#local-6989586621679111608"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-80"></span><span>    </span><span id="local-6989586621679111607"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679111607"><span class="hs-identifier hs-var">c_len</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO CInt -&gt; IO CInt
forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO a
</span><a href="System.Win32.Types.html#failIfZero"><span class="hs-identifier hs-var">failIfZero</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111609"><span class="hs-identifier hs-var">wh</span></a></span><span> </span><span class="annot"><span class="annottext">(IO CInt -&gt; IO CInt) -&gt; IO CInt -&gt; IO CInt
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR -&gt; CInt -&gt; IO CInt
</span><a href="#local-6989586621679111608"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR
forall a. Ptr a
</span><a href="../../base/src/GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><span class="hs-number">0</span></span><span>
</span><span id="line-81"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679111603"><span class="annot"><span class="annottext">len :: Int
</span><a href="#local-6989586621679111603"><span class="hs-identifier hs-var hs-var">len</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679111607"><span class="hs-identifier hs-var">c_len</span></a></span><span>
</span><span id="line-82"></span><span>    </span><span class="annot"><span class="annottext">Int -&gt; ((LPTSTR, Int) -&gt; IO String) -&gt; IO String
forall a. Int -&gt; ((LPTSTR, Int) -&gt; IO a) -&gt; IO a
</span><a href="System.Win32.String.html#withTStringBufferLen"><span class="hs-identifier hs-var">withTStringBufferLen</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679111603"><span class="hs-identifier hs-var">len</span></a></span><span> </span><span class="annot"><span class="annottext">(((LPTSTR, Int) -&gt; IO String) -&gt; IO String)
-&gt; ((LPTSTR, Int) -&gt; IO String) -&gt; IO String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span class="hs-special">(</span><span id="local-6989586621679111602"><span class="annot"><span class="annottext">LPTSTR
</span><a href="#local-6989586621679111602"><span class="hs-identifier hs-var">buf'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679111601"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679111601"><span class="hs-identifier hs-var">len'</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-83"></span><span>        </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679111597"><span class="annot"><span class="annottext">c_len' :: CInt
</span><a href="#local-6989586621679111597"><span class="hs-identifier hs-var hs-var">c_len'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; CInt
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679111601"><span class="hs-identifier hs-var">len'</span></a></span><span>
</span><span id="line-84"></span><span>        </span><span id="local-6989586621679111596"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679111596"><span class="hs-identifier hs-var">c_len''</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO CInt -&gt; IO CInt
forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO a
</span><a href="System.Win32.Types.html#failIfZero"><span class="hs-identifier hs-var">failIfZero</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111609"><span class="hs-identifier hs-var">wh</span></a></span><span> </span><span class="annot"><span class="annottext">(IO CInt -&gt; IO CInt) -&gt; IO CInt -&gt; IO CInt
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR -&gt; CInt -&gt; IO CInt
</span><a href="#local-6989586621679111608"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">LPTSTR
</span><a href="#local-6989586621679111602"><span class="hs-identifier hs-var">buf'</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679111597"><span class="hs-identifier hs-var">c_len'</span></a></span><span>
</span><span id="line-85"></span><span>        </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679111593"><span class="annot"><span class="annottext">len'' :: Int
</span><a href="#local-6989586621679111593"><span class="hs-identifier hs-var hs-var">len''</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679111596"><span class="hs-identifier hs-var">c_len''</span></a></span><span>
</span><span id="line-86"></span><span>        </span><span class="annot"><span class="annottext">(LPTSTR, Int) -&gt; IO String
</span><a href="System.Win32.Types.html#peekTStringLen"><span class="hs-identifier hs-var">peekTStringLen</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LPTSTR
</span><a href="#local-6989586621679111602"><span class="hs-identifier hs-var">buf'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679111593"><span class="hs-identifier hs-var">len''</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- Drop final null character</span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span class="hs-comment">-- | See also: 'Foreign.Marshal.Utils.maybePeek' function.</span><span>
</span><span id="line-89"></span><span id="local-6989586621679111831"><span class="annot"><a href="System.Win32.Utils.html#peekMaybe"><span class="hs-identifier hs-type">peekMaybe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Storable.html#Storable"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111831"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111831"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111831"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-90"></span><span id="peekMaybe"><span class="annot"><span class="annottext">peekMaybe :: forall a. Storable a =&gt; Ptr a -&gt; IO (Maybe a)
</span><a href="System.Win32.Utils.html#peekMaybe"><span class="hs-identifier hs-var hs-var">peekMaybe</span></a></span></span><span> </span><span id="local-6989586621679111585"><span class="annot"><span class="annottext">Ptr a
</span><a href="#local-6989586621679111585"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-91"></span><span>  </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Ptr a
</span><a href="#local-6989586621679111585"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a -&gt; Ptr a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Ptr a
forall a. Ptr a
</span><a href="../../base/src/GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span>
</span><span id="line-92"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Maybe a -&gt; IO (Maybe a)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe a
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-93"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">a -&gt; Maybe a
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; Maybe a) -&gt; IO a -&gt; IO (Maybe a)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-operator hs-var">`fmap`</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a -&gt; IO a
forall a. Storable a =&gt; Ptr a -&gt; IO a
</span><a href="../../base/src/Foreign.Storable.html#peek"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
</span><a href="#local-6989586621679111585"><span class="hs-identifier hs-var">p</span></a></span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span class="hs-comment">-- | See also: 'Foreign.Marshal.Utils.maybeWith' function.</span><span>
</span><span id="line-96"></span><span id="local-6989586621679111823"><span id="local-6989586621679111824"><span class="annot"><a href="System.Win32.Utils.html#withMaybe"><span class="hs-identifier hs-type">withMaybe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Foreign.Storable.html#Storable"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111824"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111824"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111824"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="#local-6989586621679111823"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="#local-6989586621679111823"><span class="hs-identifier hs-type">b</span></a></span></span></span><span>
</span><span id="line-97"></span><span id="withMaybe"><span class="annot"><span class="annottext">withMaybe :: forall a b. Storable a =&gt; Maybe a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
</span><a href="System.Win32.Utils.html#withMaybe"><span class="hs-identifier hs-var hs-var">withMaybe</span></a></span></span><span> </span><span class="annot"><span class="annottext">Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>  </span><span id="local-6989586621679111582"><span class="annot"><span class="annottext">Ptr a -&gt; IO b
</span><a href="#local-6989586621679111582"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ptr a -&gt; IO b
</span><a href="#local-6989586621679111582"><span class="hs-identifier hs-var">action</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
forall a. Ptr a
</span><a href="../../base/src/GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span>
</span><span id="line-98"></span><span class="annot"><a href="System.Win32.Utils.html#withMaybe"><span class="hs-identifier hs-var">withMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679111581"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679111581"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679111580"><span class="annot"><span class="annottext">Ptr a -&gt; IO b
</span><a href="#local-6989586621679111580"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
forall a b. Storable a =&gt; a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
</span><a href="../../base/src/Foreign.Marshal.Utils.html#with"><span class="hs-identifier hs-var">with</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679111581"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a -&gt; IO b
</span><a href="#local-6989586621679111580"><span class="hs-identifier hs-var">action</span></a></span><span>
</span><span id="line-99"></span><span>
</span><span id="line-100"></span><span class="hs-comment">-- | Type representing components of a Windows API day, month, year and era</span><span>
</span><span id="line-101"></span><span class="hs-comment">-- format picture.</span><span>
</span><span id="line-102"></span><span class="hs-keyword">data</span><span> </span><span id="DateFormatPicture"><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-var">DateFormatPicture</span></a></span></span><span>
</span><span id="line-103"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="Day"><span class="annot"><a href="System.Win32.Utils.html#Day"><span class="hs-identifier hs-var">Day</span></a></span></span><span>
</span><span id="line-104"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Day0"><span class="annot"><a href="System.Win32.Utils.html#Day0"><span class="hs-identifier hs-var">Day0</span></a></span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-105"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="DayShort"><span class="annot"><a href="System.Win32.Utils.html#DayShort"><span class="hs-identifier hs-var">DayShort</span></a></span></span><span>
</span><span id="line-106"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="DayLong"><span class="annot"><a href="System.Win32.Utils.html#DayLong"><span class="hs-identifier hs-var">DayLong</span></a></span></span><span>
</span><span id="line-107"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Month"><span class="annot"><a href="System.Win32.Utils.html#Month"><span class="hs-identifier hs-var">Month</span></a></span></span><span>
</span><span id="line-108"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Month0"><span class="annot"><a href="System.Win32.Utils.html#Month0"><span class="hs-identifier hs-var">Month0</span></a></span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-109"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="MonthShort"><span class="annot"><a href="System.Win32.Utils.html#MonthShort"><span class="hs-identifier hs-var">MonthShort</span></a></span></span><span>
</span><span id="line-110"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="MonthLong"><span class="annot"><a href="System.Win32.Utils.html#MonthLong"><span class="hs-identifier hs-var">MonthLong</span></a></span></span><span>
</span><span id="line-111"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="YearVeryShort"><span class="annot"><a href="System.Win32.Utils.html#YearVeryShort"><span class="hs-identifier hs-var">YearVeryShort</span></a></span></span><span> </span><span class="hs-comment">-- Year represented only by the last digit</span><span>
</span><span id="line-112"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="YearShort"><span class="annot"><a href="System.Win32.Utils.html#YearShort"><span class="hs-identifier hs-var">YearShort</span></a></span></span><span>
</span><span id="line-113"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Year"><span class="annot"><a href="System.Win32.Utils.html#Year"><span class="hs-identifier hs-var">Year</span></a></span></span><span>
</span><span id="line-114"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Era"><span class="annot"><a href="System.Win32.Utils.html#Era"><span class="hs-identifier hs-var">Era</span></a></span></span><span>
</span><span id="line-115"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="DateOther"><span class="annot"><a href="System.Win32.Utils.html#DateOther"><span class="hs-identifier hs-var">DateOther</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-116"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679111561"><span id="local-6989586621679111565"><span class="annot"><span class="annottext">DateFormatPicture -&gt; DateFormatPicture -&gt; Bool
(DateFormatPicture -&gt; DateFormatPicture -&gt; Bool)
-&gt; (DateFormatPicture -&gt; DateFormatPicture -&gt; Bool)
-&gt; Eq DateFormatPicture
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: DateFormatPicture -&gt; DateFormatPicture -&gt; Bool
$c/= :: DateFormatPicture -&gt; DateFormatPicture -&gt; Bool
== :: DateFormatPicture -&gt; DateFormatPicture -&gt; Bool
$c== :: DateFormatPicture -&gt; DateFormatPicture -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679111549"><span id="local-6989586621679111551"><span id="local-6989586621679111558"><span class="annot"><span class="annottext">Int -&gt; DateFormatPicture -&gt; ShowS
[DateFormatPicture] -&gt; ShowS
DateFormatPicture -&gt; String
(Int -&gt; DateFormatPicture -&gt; ShowS)
-&gt; (DateFormatPicture -&gt; String)
-&gt; ([DateFormatPicture] -&gt; ShowS)
-&gt; Show DateFormatPicture
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [DateFormatPicture] -&gt; ShowS
$cshowList :: [DateFormatPicture] -&gt; ShowS
show :: DateFormatPicture -&gt; String
$cshow :: DateFormatPicture -&gt; String
showsPrec :: Int -&gt; DateFormatPicture -&gt; ShowS
$cshowsPrec :: Int -&gt; DateFormatPicture -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-type">fromDFP</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-119"></span><span id="fromDFP"><span class="annot"><span class="annottext">fromDFP :: DateFormatPicture -&gt; String
</span><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var hs-var">fromDFP</span></a></span></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Day"><span class="hs-identifier hs-var">Day</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-e&quot;</span></span><span> </span><span class="hs-comment">-- No padding</span><span>
</span><span id="line-120"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Day0"><span class="hs-identifier hs-var">Day0</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%d&quot;</span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-121"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#DayShort"><span class="hs-identifier hs-var">DayShort</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%a&quot;</span></span><span> </span><span class="hs-comment">-- eg Tue</span><span>
</span><span id="line-122"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#DayLong"><span class="hs-identifier hs-var">DayLong</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%A&quot;</span></span><span> </span><span class="hs-comment">-- eg Tuesday</span><span>
</span><span id="line-123"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Month"><span class="hs-identifier hs-var">Month</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-m&quot;</span></span><span> </span><span class="hs-comment">-- No padding</span><span>
</span><span id="line-124"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Month0"><span class="hs-identifier hs-var">Month0</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%m&quot;</span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-125"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#MonthShort"><span class="hs-identifier hs-var">MonthShort</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%b&quot;</span></span><span> </span><span class="hs-comment">-- eg Jan</span><span>
</span><span id="line-126"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#MonthLong"><span class="hs-identifier hs-var">MonthLong</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%B&quot;</span></span><span> </span><span class="hs-comment">-- eg January</span><span>
</span><span id="line-127"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#YearVeryShort"><span class="hs-identifier hs-var">YearVeryShort</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-y&quot;</span></span><span> </span><span class="hs-comment">-- No direct equivalent of a one digit year, so</span><span>
</span><span id="line-128"></span><span>                              </span><span class="hs-comment">-- do not distinguish from a short year without</span><span>
</span><span id="line-129"></span><span>                              </span><span class="hs-comment">-- padding</span><span>
</span><span id="line-130"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#YearShort"><span class="hs-identifier hs-var">YearShort</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%y&quot;</span></span><span>
</span><span id="line-131"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Year"><span class="hs-identifier hs-var">Year</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%Y&quot;</span></span><span>
</span><span id="line-132"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Era"><span class="hs-identifier hs-var">Era</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="hs-comment">-- No equivalent</span><span>
</span><span id="line-133"></span><span class="annot"><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="System.Win32.Utils.html#DateOther"><span class="hs-identifier hs-type">DateOther</span></a></span><span> </span><span id="local-6989586621679111545"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111545"><span class="hs-identifier hs-var">cs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ShowS
</span><a href="System.Win32.Utils.html#escape"><span class="hs-identifier hs-var">escape</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111545"><span class="hs-identifier hs-var">cs</span></a></span><span>
</span><span id="line-134"></span><span>
</span><span id="line-135"></span><span class="annot"><a href="System.Win32.Utils.html#escape"><span class="hs-identifier hs-type">escape</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-136"></span><span id="escape"><span class="annot"><span class="annottext">escape :: ShowS
</span><a href="System.Win32.Utils.html#escape"><span class="hs-identifier hs-var hs-var">escape</span></a></span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-137"></span><span class="annot"><a href="System.Win32.Utils.html#escape"><span class="hs-identifier hs-var">escape</span></a></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679111543"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111543"><span class="hs-identifier hs-var">c</span></a></span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679111542"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111542"><span class="hs-identifier hs-var">cs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; String
</span><a href="#local-6989586621679111541"><span class="hs-identifier hs-var">escape'</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111543"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS
</span><a href="System.Win32.Utils.html#escape"><span class="hs-identifier hs-var">escape</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111542"><span class="hs-identifier hs-var">cs</span></a></span><span>
</span><span id="line-138"></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-139"></span><span>  </span><span id="local-6989586621679111541"><span class="annot"><span class="annottext">escape' :: Char -&gt; String
</span><a href="#local-6989586621679111541"><span class="hs-identifier hs-var hs-var">escape'</span></a></span></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'%'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%%&quot;</span></span><span>
</span><span id="line-140"></span><span>  </span><span class="annot"><a href="#local-6989586621679111541"><span class="hs-identifier hs-var">escape'</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%t&quot;</span></span><span>
</span><span id="line-141"></span><span>  </span><span class="annot"><a href="#local-6989586621679111541"><span class="hs-identifier hs-var">escape'</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\n'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%n&quot;</span></span><span>
</span><span id="line-142"></span><span>  </span><span class="annot"><a href="#local-6989586621679111541"><span class="hs-identifier hs-var">escape'</span></a></span><span> </span><span id="local-6989586621679111540"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111540"><span class="hs-identifier hs-var">c'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111540"><span class="hs-identifier hs-var">c'</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-143"></span><span>
</span><span id="line-144"></span><span class="annot"><a href="System.Win32.Utils.html#d"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-145"></span><span id="d"><span class="annot"><span class="annottext">d :: ReadP Char
</span><a href="System.Win32.Utils.html#d"><span class="hs-identifier hs-var hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-146"></span><span>
</span><span id="line-147"></span><span class="annot"><a href="System.Win32.Utils.html#day"><span class="hs-identifier hs-type">day</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-148"></span><span id="day"><span class="annot"><span class="annottext">day :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#day"><span class="hs-identifier hs-var hs-var">day</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-149"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#d"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-150"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Day"><span class="hs-identifier hs-var">Day</span></a></span><span>
</span><span id="line-151"></span><span>
</span><span id="line-152"></span><span class="annot"><a href="System.Win32.Utils.html#day0"><span class="hs-identifier hs-type">day0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-153"></span><span id="day0"><span class="annot"><span class="annottext">day0 :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#day0"><span class="hs-identifier hs-var hs-var">day0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-154"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#d"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-155"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Day0"><span class="hs-identifier hs-var">Day0</span></a></span><span>
</span><span id="line-156"></span><span>
</span><span id="line-157"></span><span class="annot"><a href="System.Win32.Utils.html#dayShort"><span class="hs-identifier hs-type">dayShort</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-158"></span><span id="dayShort"><span class="annot"><span class="annottext">dayShort :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#dayShort"><span class="hs-identifier hs-var hs-var">dayShort</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-159"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">3</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#d"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-160"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#DayShort"><span class="hs-identifier hs-var">DayShort</span></a></span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span class="annot"><a href="System.Win32.Utils.html#dayLong"><span class="hs-identifier hs-type">dayLong</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-163"></span><span id="dayLong"><span class="annot"><span class="annottext">dayLong :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#dayLong"><span class="hs-identifier hs-var hs-var">dayLong</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-164"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#d"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-165"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#DayLong"><span class="hs-identifier hs-var">DayLong</span></a></span><span>
</span><span id="line-166"></span><span>
</span><span id="line-167"></span><span class="annot"><a href="System.Win32.Utils.html#days"><span class="hs-identifier hs-type">days</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-168"></span><span id="days"><span class="annot"><span class="annottext">days :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#days"><span class="hs-identifier hs-var hs-var">days</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#dayLong"><span class="hs-identifier hs-var">dayLong</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#dayShort"><span class="hs-identifier hs-var">dayShort</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#day0"><span class="hs-identifier hs-var">day0</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#day"><span class="hs-identifier hs-var">day</span></a></span><span>
</span><span id="line-169"></span><span>
</span><span id="line-170"></span><span class="annot"><a href="System.Win32.Utils.html#bigM"><span class="hs-identifier hs-type">bigM</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-171"></span><span id="bigM"><span class="annot"><span class="annottext">bigM :: ReadP Char
</span><a href="System.Win32.Utils.html#bigM"><span class="hs-identifier hs-var hs-var">bigM</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'M'</span></span><span>
</span><span id="line-172"></span><span>
</span><span id="line-173"></span><span class="annot"><a href="System.Win32.Utils.html#month"><span class="hs-identifier hs-type">month</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-174"></span><span id="month"><span class="annot"><span class="annottext">month :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#month"><span class="hs-identifier hs-var hs-var">month</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-175"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#bigM"><span class="hs-identifier hs-var">bigM</span></a></span><span>
</span><span id="line-176"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Month"><span class="hs-identifier hs-var">Month</span></a></span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span class="annot"><a href="System.Win32.Utils.html#month0"><span class="hs-identifier hs-type">month0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-179"></span><span id="month0"><span class="annot"><span class="annottext">month0 :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#month0"><span class="hs-identifier hs-var hs-var">month0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-180"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#bigM"><span class="hs-identifier hs-var">bigM</span></a></span><span>
</span><span id="line-181"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Month0"><span class="hs-identifier hs-var">Month0</span></a></span><span>
</span><span id="line-182"></span><span>
</span><span id="line-183"></span><span class="annot"><a href="System.Win32.Utils.html#monthShort"><span class="hs-identifier hs-type">monthShort</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-184"></span><span id="monthShort"><span class="annot"><span class="annottext">monthShort :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#monthShort"><span class="hs-identifier hs-var hs-var">monthShort</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-185"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">3</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#bigM"><span class="hs-identifier hs-var">bigM</span></a></span><span>
</span><span id="line-186"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#MonthShort"><span class="hs-identifier hs-var">MonthShort</span></a></span><span>
</span><span id="line-187"></span><span>
</span><span id="line-188"></span><span class="annot"><a href="System.Win32.Utils.html#monthLong"><span class="hs-identifier hs-type">monthLong</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-189"></span><span id="monthLong"><span class="annot"><span class="annottext">monthLong :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#monthLong"><span class="hs-identifier hs-var hs-var">monthLong</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-190"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#bigM"><span class="hs-identifier hs-var">bigM</span></a></span><span>
</span><span id="line-191"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#MonthLong"><span class="hs-identifier hs-var">MonthLong</span></a></span><span>
</span><span id="line-192"></span><span>
</span><span id="line-193"></span><span class="annot"><a href="System.Win32.Utils.html#months"><span class="hs-identifier hs-type">months</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-194"></span><span id="months"><span class="annot"><span class="annottext">months :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#months"><span class="hs-identifier hs-var hs-var">months</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#monthLong"><span class="hs-identifier hs-var">monthLong</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#monthShort"><span class="hs-identifier hs-var">monthShort</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#month0"><span class="hs-identifier hs-var">month0</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#month"><span class="hs-identifier hs-var">month</span></a></span><span>
</span><span id="line-195"></span><span>
</span><span id="line-196"></span><span class="annot"><a href="System.Win32.Utils.html#y"><span class="hs-identifier hs-type">y</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-197"></span><span id="y"><span class="annot"><span class="annottext">y :: ReadP Char
</span><a href="System.Win32.Utils.html#y"><span class="hs-identifier hs-var hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'y'</span></span><span>
</span><span id="line-198"></span><span>
</span><span id="line-199"></span><span class="annot"><a href="System.Win32.Utils.html#yearVeryShort"><span class="hs-identifier hs-type">yearVeryShort</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-200"></span><span id="yearVeryShort"><span class="annot"><span class="annottext">yearVeryShort :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#yearVeryShort"><span class="hs-identifier hs-var hs-var">yearVeryShort</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-201"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#y"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-202"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#YearVeryShort"><span class="hs-identifier hs-var">YearVeryShort</span></a></span><span>
</span><span id="line-203"></span><span>
</span><span id="line-204"></span><span class="annot"><a href="System.Win32.Utils.html#yearShort"><span class="hs-identifier hs-type">yearShort</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-205"></span><span id="yearShort"><span class="annot"><span class="annottext">yearShort :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#yearShort"><span class="hs-identifier hs-var hs-var">yearShort</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-206"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#y"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-207"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#YearShort"><span class="hs-identifier hs-var">YearShort</span></a></span><span>
</span><span id="line-208"></span><span>
</span><span id="line-209"></span><span class="annot"><a href="System.Win32.Utils.html#year"><span class="hs-identifier hs-type">year</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-210"></span><span id="year"><span class="annot"><span class="annottext">year :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#year"><span class="hs-identifier hs-var hs-var">year</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-211"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">5</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#y"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP String -&gt; ReadP String -&gt; ReadP String
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#y"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-212"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Year"><span class="hs-identifier hs-var">Year</span></a></span><span>
</span><span id="line-213"></span><span>
</span><span id="line-214"></span><span class="annot"><a href="System.Win32.Utils.html#years"><span class="hs-identifier hs-type">years</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-215"></span><span id="years"><span class="annot"><span class="annottext">years :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#years"><span class="hs-identifier hs-var hs-var">years</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#year"><span class="hs-identifier hs-var">year</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#yearShort"><span class="hs-identifier hs-var">yearShort</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#yearVeryShort"><span class="hs-identifier hs-var">yearVeryShort</span></a></span><span>
</span><span id="line-216"></span><span>
</span><span id="line-217"></span><span class="annot"><a href="System.Win32.Utils.html#g"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-218"></span><span id="g"><span class="annot"><span class="annottext">g :: ReadP Char
</span><a href="System.Win32.Utils.html#g"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'g'</span></span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span class="annot"><a href="System.Win32.Utils.html#era"><span class="hs-identifier hs-type">era</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-221"></span><span id="era"><span class="annot"><span class="annottext">era :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#era"><span class="hs-identifier hs-var hs-var">era</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-222"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#g"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP String -&gt; ReadP String -&gt; ReadP String
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#g"><span class="hs-identifier hs-var">g</span></a></span><span>
</span><span id="line-223"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture
</span><a href="System.Win32.Utils.html#Era"><span class="hs-identifier hs-var">Era</span></a></span><span>
</span><span id="line-224"></span><span>
</span><span id="line-225"></span><span class="annot"><a href="System.Win32.Utils.html#quote"><span class="hs-identifier hs-type">quote</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-226"></span><span id="quote"><span class="annot"><span class="annottext">quote :: ReadP Char
</span><a href="System.Win32.Utils.html#quote"><span class="hs-identifier hs-var hs-var">quote</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\''</span></span><span>
</span><span id="line-227"></span><span>
</span><span id="line-228"></span><span class="annot"><a href="System.Win32.Utils.html#notQuote"><span class="hs-identifier hs-type">notQuote</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-229"></span><span id="notQuote"><span class="annot"><span class="annottext">notQuote :: ReadP Char
</span><a href="System.Win32.Utils.html#notQuote"><span class="hs-identifier hs-var hs-var">notQuote</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#satisfy"><span class="hs-identifier hs-var">satisfy</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\''</span></span><span class="hs-special">)</span><span>
</span><span id="line-230"></span><span>
</span><span id="line-231"></span><span class="annot"><a href="System.Win32.Utils.html#escQuote"><span class="hs-identifier hs-type">escQuote</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-232"></span><span id="escQuote"><span class="annot"><span class="annottext">escQuote :: ReadP Char
</span><a href="System.Win32.Utils.html#escQuote"><span class="hs-identifier hs-var hs-var">escQuote</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-233"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#quote"><span class="hs-identifier hs-var">quote</span></a></span><span>
</span><span id="line-234"></span><span>  </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\''</span></span><span>
</span><span id="line-235"></span><span>
</span><span id="line-236"></span><span class="annot"><a href="System.Win32.Utils.html#quotedChars"><span class="hs-identifier hs-type">quotedChars</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-237"></span><span id="quotedChars"><span class="annot"><span class="annottext">quotedChars :: ReadP String
</span><a href="System.Win32.Utils.html#quotedChars"><span class="hs-identifier hs-var hs-var">quotedChars</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP Char -&gt; ReadP Char -&gt; ReadP String -&gt; ReadP String
forall open close a.
ReadP open -&gt; ReadP close -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#between"><span class="hs-identifier hs-var">between</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#quote"><span class="hs-identifier hs-var">quote</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#quote"><span class="hs-identifier hs-var">quote</span></a></span><span> </span><span class="annot"><span class="annottext">(ReadP String -&gt; ReadP String) -&gt; ReadP String -&gt; ReadP String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char -&gt; ReadP String
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy"><span class="hs-identifier hs-var">greedy</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#escQuote"><span class="hs-identifier hs-var">escQuote</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char -&gt; ReadP Char -&gt; ReadP Char
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#notQuote"><span class="hs-identifier hs-var">notQuote</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-238"></span><span>
</span><span id="line-239"></span><span class="hs-comment">-- | Although not documented at</span><span>
</span><span id="line-240"></span><span class="hs-comment">-- https://docs.microsoft.com/en-us/windows/win32/intl/day--month--year--and-era-format-pictures</span><span>
</span><span id="line-241"></span><span class="hs-comment">-- the format pictures used by Windows do not require all such characters to be</span><span>
</span><span id="line-242"></span><span class="hs-comment">-- enclosed in single quotation marks.</span><span>
</span><span id="line-243"></span><span class="annot"><a href="System.Win32.Utils.html#nonDateSpecial"><span class="hs-identifier hs-type">nonDateSpecial</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-244"></span><span id="nonDateSpecial"><span class="annot"><span class="annottext">nonDateSpecial :: ReadP Char
</span><a href="System.Win32.Utils.html#nonDateSpecial"><span class="hs-identifier hs-var hs-var">nonDateSpecial</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#satisfy"><span class="hs-identifier hs-var">satisfy</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679111513"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111513"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111513"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; String -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#notElem"><span class="hs-operator hs-var">`notElem`</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'M'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'y'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'g'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\''</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-245"></span><span>
</span><span id="line-246"></span><span class="annot"><a href="System.Win32.Utils.html#nonDateSpecials"><span class="hs-identifier hs-type">nonDateSpecials</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-247"></span><span id="nonDateSpecials"><span class="annot"><span class="annottext">nonDateSpecials :: ReadP String
</span><a href="System.Win32.Utils.html#nonDateSpecials"><span class="hs-identifier hs-var hs-var">nonDateSpecials</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP Char -&gt; ReadP String
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-var">greedy1</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#nonDateSpecial"><span class="hs-identifier hs-var">nonDateSpecial</span></a></span><span>
</span><span id="line-248"></span><span>
</span><span id="line-249"></span><span class="annot"><a href="System.Win32.Utils.html#dateOther"><span class="hs-identifier hs-type">dateOther</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span>
</span><span id="line-250"></span><span id="dateOther"><span class="annot"><span class="annottext">dateOther :: ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#dateOther"><span class="hs-identifier hs-var hs-var">dateOther</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-251"></span><span>  </span><span id="local-6989586621679111508"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679111508"><span class="hs-identifier hs-var">chars</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP String -&gt; ReadP [String]
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-var">greedy1</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReadP String
</span><a href="System.Win32.Utils.html#nonDateSpecials"><span class="hs-identifier hs-var">nonDateSpecials</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP String -&gt; ReadP String -&gt; ReadP String
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP String
</span><a href="System.Win32.Utils.html#quotedChars"><span class="hs-identifier hs-var">quotedChars</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-252"></span><span>  </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; ReadP DateFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">(DateFormatPicture -&gt; ReadP DateFormatPicture)
-&gt; DateFormatPicture -&gt; ReadP DateFormatPicture
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; DateFormatPicture
</span><a href="System.Win32.Utils.html#DateOther"><span class="hs-identifier hs-var">DateOther</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; DateFormatPicture) -&gt; String -&gt; DateFormatPicture
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679111508"><span class="hs-identifier hs-var">chars</span></a></span><span>
</span><span id="line-253"></span><span>
</span><span id="line-254"></span><span class="annot"><a href="System.Win32.Utils.html#datePicture"><span class="hs-identifier hs-type">datePicture</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="System.Win32.Utils.html#DateFormatPicture"><span class="hs-identifier hs-type">DateFormatPicture</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-255"></span><span id="datePicture"><span class="annot"><span class="annottext">datePicture :: ReadP [DateFormatPicture]
</span><a href="System.Win32.Utils.html#datePicture"><span class="hs-identifier hs-var hs-var">datePicture</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture -&gt; ReadP [DateFormatPicture]
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy"><span class="hs-identifier hs-var">greedy</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#days"><span class="hs-identifier hs-var">days</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#months"><span class="hs-identifier hs-var">months</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#years"><span class="hs-identifier hs-var">years</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#era"><span class="hs-identifier hs-var">era</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
-&gt; ReadP DateFormatPicture -&gt; ReadP DateFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP DateFormatPicture
</span><a href="System.Win32.Utils.html#dateOther"><span class="hs-identifier hs-var">dateOther</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-256"></span><span>
</span><span id="line-257"></span><span class="hs-comment">-- | Type representing components of a Windows API hours, minute, and second</span><span>
</span><span id="line-258"></span><span class="hs-comment">-- format picture.</span><span>
</span><span id="line-259"></span><span class="hs-keyword">data</span><span> </span><span id="TimeFormatPicture"><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-var">TimeFormatPicture</span></a></span></span><span>
</span><span id="line-260"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="Hours12"><span class="annot"><a href="System.Win32.Utils.html#Hours12"><span class="hs-identifier hs-var">Hours12</span></a></span></span><span>
</span><span id="line-261"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Hours012"><span class="annot"><a href="System.Win32.Utils.html#Hours012"><span class="hs-identifier hs-var">Hours012</span></a></span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-262"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Hours24"><span class="annot"><a href="System.Win32.Utils.html#Hours24"><span class="hs-identifier hs-var">Hours24</span></a></span></span><span>
</span><span id="line-263"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Hours024"><span class="annot"><a href="System.Win32.Utils.html#Hours024"><span class="hs-identifier hs-var">Hours024</span></a></span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-264"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Minutes"><span class="annot"><a href="System.Win32.Utils.html#Minutes"><span class="hs-identifier hs-var">Minutes</span></a></span></span><span>
</span><span id="line-265"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Minutes0"><span class="annot"><a href="System.Win32.Utils.html#Minutes0"><span class="hs-identifier hs-var">Minutes0</span></a></span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-266"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Seconds"><span class="annot"><a href="System.Win32.Utils.html#Seconds"><span class="hs-identifier hs-var">Seconds</span></a></span></span><span>
</span><span id="line-267"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Seconds0"><span class="annot"><a href="System.Win32.Utils.html#Seconds0"><span class="hs-identifier hs-var">Seconds0</span></a></span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-268"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="TimeMarkerShort"><span class="annot"><a href="System.Win32.Utils.html#TimeMarkerShort"><span class="hs-identifier hs-var">TimeMarkerShort</span></a></span></span><span> </span><span class="hs-comment">-- One-character time marker string, eg &quot;A&quot; and &quot;P&quot;</span><span>
</span><span id="line-269"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="TimeMarker"><span class="annot"><a href="System.Win32.Utils.html#TimeMarker"><span class="hs-identifier hs-var">TimeMarker</span></a></span></span><span> </span><span class="hs-comment">-- Multi-character time marker string, eg &quot;AM&quot; and &quot;PM&quot;</span><span>
</span><span id="line-270"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="TimeOther"><span class="annot"><a href="System.Win32.Utils.html#TimeOther"><span class="hs-identifier hs-var">TimeOther</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-271"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679111490"><span id="local-6989586621679111493"><span class="annot"><span class="annottext">TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool
(TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool)
-&gt; (TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool)
-&gt; Eq TimeFormatPicture
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool
$c/= :: TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool
== :: TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool
$c== :: TimeFormatPicture -&gt; TimeFormatPicture -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679111481"><span id="local-6989586621679111483"><span id="local-6989586621679111488"><span class="annot"><span class="annottext">Int -&gt; TimeFormatPicture -&gt; ShowS
[TimeFormatPicture] -&gt; ShowS
TimeFormatPicture -&gt; String
(Int -&gt; TimeFormatPicture -&gt; ShowS)
-&gt; (TimeFormatPicture -&gt; String)
-&gt; ([TimeFormatPicture] -&gt; ShowS)
-&gt; Show TimeFormatPicture
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [TimeFormatPicture] -&gt; ShowS
$cshowList :: [TimeFormatPicture] -&gt; ShowS
show :: TimeFormatPicture -&gt; String
$cshow :: TimeFormatPicture -&gt; String
showsPrec :: Int -&gt; TimeFormatPicture -&gt; ShowS
$cshowsPrec :: Int -&gt; TimeFormatPicture -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-272"></span><span>
</span><span id="line-273"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-type">fromTFP</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-274"></span><span id="fromTFP"><span class="annot"><span class="annottext">fromTFP :: TimeFormatPicture -&gt; String
</span><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var hs-var">fromTFP</span></a></span></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours12"><span class="hs-identifier hs-var">Hours12</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-l&quot;</span></span><span> </span><span class="hs-comment">-- No padding</span><span>
</span><span id="line-275"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours012"><span class="hs-identifier hs-var">Hours012</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%I&quot;</span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-276"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours24"><span class="hs-identifier hs-var">Hours24</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-k&quot;</span></span><span> </span><span class="hs-comment">-- No padding</span><span>
</span><span id="line-277"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours024"><span class="hs-identifier hs-var">Hours024</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%H&quot;</span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-278"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Minutes"><span class="hs-identifier hs-var">Minutes</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-M&quot;</span></span><span> </span><span class="hs-comment">-- No padding</span><span>
</span><span id="line-279"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Minutes0"><span class="hs-identifier hs-var">Minutes0</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%M&quot;</span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-280"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Seconds"><span class="hs-identifier hs-var">Seconds</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%-S&quot;</span></span><span> </span><span class="hs-comment">-- No padding</span><span>
</span><span id="line-281"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Seconds0"><span class="hs-identifier hs-var">Seconds0</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%S&quot;</span></span><span> </span><span class="hs-comment">-- Padded with zeros</span><span>
</span><span id="line-282"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#TimeMarkerShort"><span class="hs-identifier hs-var">TimeMarkerShort</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%p&quot;</span></span><span> </span><span class="hs-comment">-- No direct equivalent, so do not distinguish</span><span>
</span><span id="line-283"></span><span>                               </span><span class="hs-comment">-- from TimeMarker</span><span>
</span><span id="line-284"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#TimeMarker"><span class="hs-identifier hs-var">TimeMarker</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%p&quot;</span></span><span>
</span><span id="line-285"></span><span class="annot"><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="System.Win32.Utils.html#TimeOther"><span class="hs-identifier hs-type">TimeOther</span></a></span><span> </span><span id="local-6989586621679111479"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111479"><span class="hs-identifier hs-var">cs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ShowS
</span><a href="System.Win32.Utils.html#escape"><span class="hs-identifier hs-var">escape</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111479"><span class="hs-identifier hs-var">cs</span></a></span><span>
</span><span id="line-286"></span><span>
</span><span id="line-287"></span><span class="annot"><a href="System.Win32.Utils.html#h"><span class="hs-identifier hs-type">h</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-288"></span><span id="h"><span class="annot"><span class="annottext">h :: ReadP Char
</span><a href="System.Win32.Utils.html#h"><span class="hs-identifier hs-var hs-var">h</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'h'</span></span><span>
</span><span id="line-289"></span><span>
</span><span id="line-290"></span><span class="annot"><a href="System.Win32.Utils.html#hours12"><span class="hs-identifier hs-type">hours12</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-291"></span><span id="hours12"><span class="annot"><span class="annottext">hours12 :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours12"><span class="hs-identifier hs-var hs-var">hours12</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-292"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#h"><span class="hs-identifier hs-var">h</span></a></span><span>
</span><span id="line-293"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours12"><span class="hs-identifier hs-var">Hours12</span></a></span><span>
</span><span id="line-294"></span><span>
</span><span id="line-295"></span><span class="annot"><a href="System.Win32.Utils.html#hours012"><span class="hs-identifier hs-type">hours012</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-296"></span><span id="hours012"><span class="annot"><span class="annottext">hours012 :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours012"><span class="hs-identifier hs-var hs-var">hours012</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-297"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#h"><span class="hs-identifier hs-var">h</span></a></span><span>
</span><span id="line-298"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours012"><span class="hs-identifier hs-var">Hours012</span></a></span><span>
</span><span id="line-299"></span><span>
</span><span id="line-300"></span><span class="annot"><a href="System.Win32.Utils.html#bigH"><span class="hs-identifier hs-type">bigH</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-301"></span><span id="bigH"><span class="annot"><span class="annottext">bigH :: ReadP Char
</span><a href="System.Win32.Utils.html#bigH"><span class="hs-identifier hs-var hs-var">bigH</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'H'</span></span><span>
</span><span id="line-302"></span><span>
</span><span id="line-303"></span><span class="annot"><a href="System.Win32.Utils.html#hours24"><span class="hs-identifier hs-type">hours24</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-304"></span><span id="hours24"><span class="annot"><span class="annottext">hours24 :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours24"><span class="hs-identifier hs-var hs-var">hours24</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-305"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#bigH"><span class="hs-identifier hs-var">bigH</span></a></span><span>
</span><span id="line-306"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours24"><span class="hs-identifier hs-var">Hours24</span></a></span><span>
</span><span id="line-307"></span><span>
</span><span id="line-308"></span><span class="annot"><a href="System.Win32.Utils.html#hours024"><span class="hs-identifier hs-type">hours024</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-309"></span><span id="hours024"><span class="annot"><span class="annottext">hours024 :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours024"><span class="hs-identifier hs-var hs-var">hours024</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-310"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#bigH"><span class="hs-identifier hs-var">bigH</span></a></span><span>
</span><span id="line-311"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Hours024"><span class="hs-identifier hs-var">Hours024</span></a></span><span>
</span><span id="line-312"></span><span>
</span><span id="line-313"></span><span class="annot"><a href="System.Win32.Utils.html#hours"><span class="hs-identifier hs-type">hours</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-314"></span><span id="hours"><span class="annot"><span class="annottext">hours :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours"><span class="hs-identifier hs-var hs-var">hours</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours012"><span class="hs-identifier hs-var">hours012</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours12"><span class="hs-identifier hs-var">hours12</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours024"><span class="hs-identifier hs-var">hours024</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours24"><span class="hs-identifier hs-var">hours24</span></a></span><span>
</span><span id="line-315"></span><span>
</span><span id="line-316"></span><span class="annot"><a href="System.Win32.Utils.html#m"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-317"></span><span id="m"><span class="annot"><span class="annottext">m :: ReadP Char
</span><a href="System.Win32.Utils.html#m"><span class="hs-identifier hs-var hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'m'</span></span><span>
</span><span id="line-318"></span><span>
</span><span id="line-319"></span><span class="annot"><a href="System.Win32.Utils.html#minute"><span class="hs-identifier hs-type">minute</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-320"></span><span id="minute"><span class="annot"><span class="annottext">minute :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#minute"><span class="hs-identifier hs-var hs-var">minute</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-321"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#m"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-322"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Minutes"><span class="hs-identifier hs-var">Minutes</span></a></span><span>
</span><span id="line-323"></span><span>
</span><span id="line-324"></span><span class="annot"><a href="System.Win32.Utils.html#minute0"><span class="hs-identifier hs-type">minute0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-325"></span><span id="minute0"><span class="annot"><span class="annottext">minute0 :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#minute0"><span class="hs-identifier hs-var hs-var">minute0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-326"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#m"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-327"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Minutes0"><span class="hs-identifier hs-var">Minutes0</span></a></span><span>
</span><span id="line-328"></span><span>
</span><span id="line-329"></span><span class="annot"><a href="System.Win32.Utils.html#minutes"><span class="hs-identifier hs-type">minutes</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-330"></span><span id="minutes"><span class="annot"><span class="annottext">minutes :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#minutes"><span class="hs-identifier hs-var hs-var">minutes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#minute0"><span class="hs-identifier hs-var">minute0</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#minute"><span class="hs-identifier hs-var">minute</span></a></span><span>
</span><span id="line-331"></span><span>
</span><span id="line-332"></span><span class="annot"><a href="System.Win32.Utils.html#s"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-333"></span><span id="s"><span class="annot"><span class="annottext">s :: ReadP Char
</span><a href="System.Win32.Utils.html#s"><span class="hs-identifier hs-var hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'s'</span></span><span>
</span><span id="line-334"></span><span>
</span><span id="line-335"></span><span class="annot"><a href="System.Win32.Utils.html#second"><span class="hs-identifier hs-type">second</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-336"></span><span id="second"><span class="annot"><span class="annottext">second :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#second"><span class="hs-identifier hs-var hs-var">second</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-337"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#s"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-338"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Seconds"><span class="hs-identifier hs-var">Seconds</span></a></span><span>
</span><span id="line-339"></span><span>
</span><span id="line-340"></span><span class="annot"><a href="System.Win32.Utils.html#second0"><span class="hs-identifier hs-type">second0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-341"></span><span id="second0"><span class="annot"><span class="annottext">second0 :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#second0"><span class="hs-identifier hs-var hs-var">second0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-342"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#s"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-343"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#Seconds0"><span class="hs-identifier hs-var">Seconds0</span></a></span><span>
</span><span id="line-344"></span><span>
</span><span id="line-345"></span><span class="annot"><a href="System.Win32.Utils.html#seconds"><span class="hs-identifier hs-type">seconds</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-346"></span><span id="seconds"><span class="annot"><span class="annottext">seconds :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#seconds"><span class="hs-identifier hs-var hs-var">seconds</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#second0"><span class="hs-identifier hs-var">second0</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#second"><span class="hs-identifier hs-var">second</span></a></span><span>
</span><span id="line-347"></span><span>
</span><span id="line-348"></span><span class="annot"><a href="System.Win32.Utils.html#t"><span class="hs-identifier hs-type">t</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-349"></span><span id="t"><span class="annot"><span class="annottext">t :: ReadP Char
</span><a href="System.Win32.Utils.html#t"><span class="hs-identifier hs-var hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'t'</span></span><span>
</span><span id="line-350"></span><span>
</span><span id="line-351"></span><span class="annot"><a href="System.Win32.Utils.html#timeMarkerShort"><span class="hs-identifier hs-type">timeMarkerShort</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-352"></span><span id="timeMarkerShort"><span class="annot"><span class="annottext">timeMarkerShort :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeMarkerShort"><span class="hs-identifier hs-var hs-var">timeMarkerShort</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-353"></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#t"><span class="hs-identifier hs-var">t</span></a></span><span>
</span><span id="line-354"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#TimeMarkerShort"><span class="hs-identifier hs-var">TimeMarkerShort</span></a></span><span>
</span><span id="line-355"></span><span>
</span><span id="line-356"></span><span class="annot"><a href="System.Win32.Utils.html#timeMarker"><span class="hs-identifier hs-type">timeMarker</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-357"></span><span id="timeMarker"><span class="annot"><span class="annottext">timeMarker :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeMarker"><span class="hs-identifier hs-var hs-var">timeMarker</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-358"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ReadP Char -&gt; ReadP String
forall a. Int -&gt; ReadP a -&gt; ReadP [a]
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#count"><span class="hs-identifier hs-var">count</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#t"><span class="hs-identifier hs-var">t</span></a></span><span>
</span><span id="line-359"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture
</span><a href="System.Win32.Utils.html#TimeMarker"><span class="hs-identifier hs-var">TimeMarker</span></a></span><span>
</span><span id="line-360"></span><span>
</span><span id="line-361"></span><span class="annot"><a href="System.Win32.Utils.html#timeMarkers"><span class="hs-identifier hs-type">timeMarkers</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-362"></span><span id="timeMarkers"><span class="annot"><span class="annottext">timeMarkers :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeMarkers"><span class="hs-identifier hs-var hs-var">timeMarkers</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeMarker"><span class="hs-identifier hs-var">timeMarker</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeMarkerShort"><span class="hs-identifier hs-var">timeMarkerShort</span></a></span><span>
</span><span id="line-363"></span><span>
</span><span id="line-364"></span><span class="hs-comment">-- | Although not documented at</span><span>
</span><span id="line-365"></span><span class="hs-comment">-- https://docs.microsoft.com/en-us/windows/win32/intl/hour--minute--and-second-format-pictures</span><span>
</span><span id="line-366"></span><span class="hs-comment">-- the format pictures used by Windows do not require all such characters to be</span><span>
</span><span id="line-367"></span><span class="hs-comment">-- enclosed in single quotation marks.</span><span>
</span><span id="line-368"></span><span class="annot"><a href="System.Win32.Utils.html#nonTimeSpecial"><span class="hs-identifier hs-type">nonTimeSpecial</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span>
</span><span id="line-369"></span><span id="nonTimeSpecial"><span class="annot"><span class="annottext">nonTimeSpecial :: ReadP Char
</span><a href="System.Win32.Utils.html#nonTimeSpecial"><span class="hs-identifier hs-var hs-var">nonTimeSpecial</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; ReadP Char
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#satisfy"><span class="hs-identifier hs-var">satisfy</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679111458"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111458"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679111458"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; String -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#notElem"><span class="hs-operator hs-var">`notElem`</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'h'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'H'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'m'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'s'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'t'</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\''</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-370"></span><span>
</span><span id="line-371"></span><span class="annot"><a href="System.Win32.Utils.html#nonTimeSpecials"><span class="hs-identifier hs-type">nonTimeSpecials</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-372"></span><span id="nonTimeSpecials"><span class="annot"><span class="annottext">nonTimeSpecials :: ReadP String
</span><a href="System.Win32.Utils.html#nonTimeSpecials"><span class="hs-identifier hs-var hs-var">nonTimeSpecials</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP Char -&gt; ReadP String
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-var">greedy1</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP Char
</span><a href="System.Win32.Utils.html#nonTimeSpecial"><span class="hs-identifier hs-var">nonTimeSpecial</span></a></span><span>
</span><span id="line-373"></span><span>
</span><span id="line-374"></span><span class="annot"><a href="System.Win32.Utils.html#timeOther"><span class="hs-identifier hs-type">timeOther</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span>
</span><span id="line-375"></span><span id="timeOther"><span class="annot"><span class="annottext">timeOther :: ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeOther"><span class="hs-identifier hs-var hs-var">timeOther</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-376"></span><span>  </span><span id="local-6989586621679111455"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679111455"><span class="hs-identifier hs-var">chars</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP String -&gt; ReadP [String]
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-var">greedy1</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReadP String
</span><a href="System.Win32.Utils.html#nonTimeSpecials"><span class="hs-identifier hs-var">nonTimeSpecials</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP String -&gt; ReadP String -&gt; ReadP String
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP String
</span><a href="System.Win32.Utils.html#quotedChars"><span class="hs-identifier hs-var">quotedChars</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-377"></span><span>  </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">(TimeFormatPicture -&gt; ReadP TimeFormatPicture)
-&gt; TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; TimeFormatPicture
</span><a href="System.Win32.Utils.html#TimeOther"><span class="hs-identifier hs-var">TimeOther</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; TimeFormatPicture) -&gt; String -&gt; TimeFormatPicture
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679111455"><span class="hs-identifier hs-var">chars</span></a></span><span>
</span><span id="line-378"></span><span>
</span><span id="line-379"></span><span class="annot"><a href="System.Win32.Utils.html#timePicture"><span class="hs-identifier hs-type">timePicture</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="System.Win32.Utils.html#TimeFormatPicture"><span class="hs-identifier hs-type">TimeFormatPicture</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-380"></span><span id="timePicture"><span class="annot"><span class="annottext">timePicture :: ReadP [TimeFormatPicture]
</span><a href="System.Win32.Utils.html#timePicture"><span class="hs-identifier hs-var hs-var">timePicture</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture -&gt; ReadP [TimeFormatPicture]
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy"><span class="hs-identifier hs-var">greedy</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#hours"><span class="hs-identifier hs-var">hours</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#minutes"><span class="hs-identifier hs-var">minutes</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#seconds"><span class="hs-identifier hs-var">seconds</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeMarkers"><span class="hs-identifier hs-var">timeMarkers</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
-&gt; ReadP TimeFormatPicture -&gt; ReadP TimeFormatPicture
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span>
</span><span id="line-381"></span><span>                     </span><span class="annot"><span class="annottext">ReadP TimeFormatPicture
</span><a href="System.Win32.Utils.html#timeOther"><span class="hs-identifier hs-var">timeOther</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-382"></span><span>
</span><span id="line-383"></span><span id="local-6989586621679111810"><span class="annot"><a href="System.Win32.Utils.html#greedy"><span class="hs-identifier hs-type">greedy</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111810"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679111810"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-384"></span><span id="greedy"><span class="annot"><span class="annottext">greedy :: forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy"><span class="hs-identifier hs-var hs-var">greedy</span></a></span></span><span> </span><span id="local-6989586621679111452"><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111452"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReadP a -&gt; ReadP [a]
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-var">greedy1</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111452"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP [a] -&gt; ReadP [a] -&gt; ReadP [a]
forall a. ReadP a -&gt; ReadP a -&gt; ReadP a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#%3C%2B%2B"><span class="hs-operator hs-var">&lt;++</span></a></span><span> </span><span class="annot"><span class="annottext">[a] -&gt; ReadP [a]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-385"></span><span>
</span><span id="line-386"></span><span id="local-6989586621679111451"><span class="annot"><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-type">greedy1</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111451"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679111451"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-387"></span><span id="greedy1"><span class="annot"><span class="annottext">greedy1 :: forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy1"><span class="hs-identifier hs-var hs-var">greedy1</span></a></span></span><span> </span><span id="local-6989586621679111447"><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111447"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-388"></span><span>  </span><span id="local-6989586621679111446"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679111446"><span class="hs-identifier hs-var">first</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111447"><span class="hs-identifier hs-var">p</span></a></span><span>
</span><span id="line-389"></span><span>  </span><span id="local-6989586621679111445"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679111445"><span class="hs-identifier hs-var">rest</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ReadP a -&gt; ReadP [a]
forall a. ReadP a -&gt; ReadP [a]
</span><a href="System.Win32.Utils.html#greedy"><span class="hs-identifier hs-var">greedy</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111447"><span class="hs-identifier hs-var">p</span></a></span><span>
</span><span id="line-390"></span><span>  </span><span class="annot"><span class="annottext">[a] -&gt; ReadP [a]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679111446"><span class="hs-identifier hs-var">first</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; [a] -&gt; [a]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679111445"><span class="hs-identifier hs-var">rest</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-391"></span><span>
</span><span id="line-392"></span><span id="local-6989586621679111803"><span class="annot"><a href="System.Win32.Utils.html#parseMaybe"><span class="hs-identifier hs-type">parseMaybe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/Text.ParserCombinators.ReadP.html#ReadP"><span class="hs-identifier hs-type">ReadP</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111803"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679111803"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-393"></span><span id="parseMaybe"><span class="annot"><span class="annottext">parseMaybe :: forall a. ReadP a -&gt; String -&gt; Maybe a
</span><a href="System.Win32.Utils.html#parseMaybe"><span class="hs-identifier hs-var hs-var">parseMaybe</span></a></span></span><span> </span><span id="local-6989586621679111443"><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111443"><span class="hs-identifier hs-var">parser</span></a></span></span><span> </span><span id="local-6989586621679111442"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111442"><span class="hs-identifier hs-var">input</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-394"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ReadP a -&gt; ReadS a
forall a. ReadP a -&gt; ReadS a
</span><a href="../../base/src/Text.ParserCombinators.ReadP.html#readP_to_S"><span class="hs-identifier hs-var">readP_to_S</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP a
</span><a href="#local-6989586621679111443"><span class="hs-identifier hs-var">parser</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111442"><span class="hs-identifier hs-var">input</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-395"></span><span>    </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Maybe a
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-396"></span><span>    </span><span class="hs-special">(</span><span class="hs-special">(</span><span id="local-6989586621679111441"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679111441"><span class="hs-identifier hs-var">result</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span class="annot"><span class="annottext">[(a, String)]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a -&gt; Maybe a
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679111441"><span class="hs-identifier hs-var">result</span></a></span><span>
</span><span id="line-397"></span><span>
</span><span id="line-398"></span><span class="hs-comment">-- | Translate from a Windows API day, month, year, and era format picture to</span><span>
</span><span id="line-399"></span><span class="hs-comment">-- the closest corresponding format string used by</span><span>
</span><span id="line-400"></span><span class="hs-comment">-- 'Data.Time.Format.formatTime'.</span><span>
</span><span id="line-401"></span><span class="annot"><a href="System.Win32.Utils.html#fromDateFormatPicture"><span class="hs-identifier hs-type">fromDateFormatPicture</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-402"></span><span id="fromDateFormatPicture"><span class="annot"><span class="annottext">fromDateFormatPicture :: String -&gt; Maybe String
</span><a href="System.Win32.Utils.html#fromDateFormatPicture"><span class="hs-identifier hs-var hs-var">fromDateFormatPicture</span></a></span></span><span> </span><span id="local-6989586621679111440"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111440"><span class="hs-identifier hs-var">dfp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-403"></span><span>  </span><span class="annot"><span class="annottext">([DateFormatPicture] -&gt; String)
-&gt; Maybe [DateFormatPicture] -&gt; Maybe String
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(DateFormatPicture -&gt; String) -&gt; [DateFormatPicture] -&gt; String
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">DateFormatPicture -&gt; String
</span><a href="System.Win32.Utils.html#fromDFP"><span class="hs-identifier hs-var">fromDFP</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(Maybe [DateFormatPicture] -&gt; Maybe String)
-&gt; Maybe [DateFormatPicture] -&gt; Maybe String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP [DateFormatPicture] -&gt; String -&gt; Maybe [DateFormatPicture]
forall a. ReadP a -&gt; String -&gt; Maybe a
</span><a href="System.Win32.Utils.html#parseMaybe"><span class="hs-identifier hs-var">parseMaybe</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP [DateFormatPicture]
</span><a href="System.Win32.Utils.html#datePicture"><span class="hs-identifier hs-var">datePicture</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111440"><span class="hs-identifier hs-var">dfp</span></a></span><span>
</span><span id="line-404"></span><span>
</span><span id="line-405"></span><span class="hs-comment">-- | Translate from a Windows API hours, minute, and second format picture to</span><span>
</span><span id="line-406"></span><span class="hs-comment">-- the closest corresponding format string used by</span><span>
</span><span id="line-407"></span><span class="hs-comment">-- 'Data.Time.Format.formatTime'.</span><span>
</span><span id="line-408"></span><span class="annot"><a href="System.Win32.Utils.html#fromTimeFormatPicture"><span class="hs-identifier hs-type">fromTimeFormatPicture</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-409"></span><span id="fromTimeFormatPicture"><span class="annot"><span class="annottext">fromTimeFormatPicture :: String -&gt; Maybe String
</span><a href="System.Win32.Utils.html#fromTimeFormatPicture"><span class="hs-identifier hs-var hs-var">fromTimeFormatPicture</span></a></span></span><span> </span><span id="local-6989586621679111438"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111438"><span class="hs-identifier hs-var">tfp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-410"></span><span>  </span><span class="annot"><span class="annottext">([TimeFormatPicture] -&gt; String)
-&gt; Maybe [TimeFormatPicture] -&gt; Maybe String
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TimeFormatPicture -&gt; String) -&gt; [TimeFormatPicture] -&gt; String
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">TimeFormatPicture -&gt; String
</span><a href="System.Win32.Utils.html#fromTFP"><span class="hs-identifier hs-var">fromTFP</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(Maybe [TimeFormatPicture] -&gt; Maybe String)
-&gt; Maybe [TimeFormatPicture] -&gt; Maybe String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP [TimeFormatPicture] -&gt; String -&gt; Maybe [TimeFormatPicture]
forall a. ReadP a -&gt; String -&gt; Maybe a
</span><a href="System.Win32.Utils.html#parseMaybe"><span class="hs-identifier hs-var">parseMaybe</span></a></span><span> </span><span class="annot"><span class="annottext">ReadP [TimeFormatPicture]
</span><a href="System.Win32.Utils.html#timePicture"><span class="hs-identifier hs-var">timePicture</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679111438"><span class="hs-identifier hs-var">tfp</span></a></span><span>
</span><span id="line-411"></span></pre></body></html>